// 导入Node.js内置模块，用于处理文件路径和URL
import { fileURLToPath, URL } from 'node:url'

// 导入Vite配置定义函数
import { defineConfig } from 'vite'
// 导入Vue插件以支持Vue.js的编译和热重载
import vue from '@vitejs/plugin-vue'
// 导入自动导入插件，用于按需加载模块和组件
import AutoImport from 'unplugin-auto-import/vite'
// 导入Vue组件插件，用于自动注册组件
import Components from 'unplugin-vue-components/vite'
// 导入Element Plus解析器，用于解析和导入Element Plus组件
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'

// Vite配置函数，用于定义Vite项目的配置
// https://vitejs.dev/config/
export default defineConfig({
  // 插件数组，包含项目中使用的各种Vite插件
  plugins: [
    // Vue插件，用于支持Vue.js的SFC（单文件组件）编译
    vue(),
    // 自动导入插件，配置Element Plus解析器以按需加载组件
    AutoImport({
      resolvers: [ElementPlusResolver()],
    }),
    // Vue组件插件，配置Element Plus解析器以自动注册组件
    Components({
      resolvers: [ElementPlusResolver()],
    }),
  ],
  // 解析配置，用于定义模块路径别名
  resolve: {
    alias: {
      // 定义'@'别名指向项目源代码目录的绝对路径
      '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  }
})

